package com.ruoyi.system.service;

import com.ruoyi.system.domain.TrainingBaseDept;

import java.util.List;

/**
 * 轮转科室信息Service接口
 *
 * @author dp
 * @date 2023-11-27
 */
public interface ITrainingBaseDeptService {
    /**
     * 查询轮转科室信息
     *
     * @param deptId 轮转科室信息主键
     * @return 轮转科室信息
     */
    public TrainingBaseDept selectTrainingBaseDeptByDeptId(Long deptId);

    /**
     * 查询轮转科室信息列表
     *
     * @param trainingBaseDept 轮转科室信息
     * @return 轮转科室信息集合
     */
    public List<TrainingBaseDept> selectTrainingBaseDeptList(TrainingBaseDept trainingBaseDept);

    /**
     * 新增轮转科室信息
     *
     * @param trainingBaseDept 轮转科室信息
     * @return 结果
     */
    public int insertTrainingBaseDept(TrainingBaseDept trainingBaseDept);

    /**
     * 修改轮转科室信息
     *
     * @param trainingBaseDept 轮转科室信息
     * @return 结果
     */
    public int updateTrainingBaseDept(TrainingBaseDept trainingBaseDept);

    /**
     * 批量删除轮转科室信息
     *
     * @param deptIds 需要删除的轮转科室信息主键集合
     * @return 结果
     */
    public int deleteTrainingBaseDeptByDeptIds(Long[] deptIds);

    /**
     * 删除轮转科室信息信息
     *
     * @param deptId 轮转科室信息主键
     * @return 结果
     */
    public int deleteTrainingBaseDeptByDeptId(Long deptId);

    /**
     * 实体数据补全
     *
     * @param trainingBaseDept 实体
     * @param userId           用户id
     * @param crateType        创建类型 1：新增 2：修改
     */
    public void completeData(TrainingBaseDept trainingBaseDept, Long userId, Integer crateType);
}
